diff --git a/system/libraries/Session/Session.php b/system/libraries/Session/Session.php
index 9c887d8..7343342 100755
--- a/system/libraries/Session/Session.php
+++ b/system/libraries/Session/Session.php
@@ -64,7 +64,7 @@
 
 		// Get valid drivers list
 		$CI =& get_instance();
-		$this->valid_drivers = array('CI_Session_native', 'CI_Session_cookie');
+		$this->valid_drivers = array('Session_native', 'Session_cookie');
 		$key = 'sess_valid_drivers';
 		$drivers = (isset($params[$key])) ? $params[$key] : $CI->config->item($key);
 		if ($drivers)
@@ -131,7 +131,7 @@
 	public function select_driver($driver)
 	{
 		// Validate driver name
-		$lowername = strtolower($driver);
+		$lowername = strtolower(str_replace('CI_', '', $driver));
 		if (in_array($lowername, array_map('strtolower', $this->valid_drivers)))
 		{
 			// See if regular or lowercase variant is loaded
@@ -177,11 +177,11 @@
 	 * Fetch a specific item from the session array
 	 *
 	 * @param	string	Item key
-	 * @return	string	Item value
+	 * @return	string	Item value or NULL if not found
 	 */
 	public function userdata($item)
 	{
-		// Return value or FALSE if not found
+		// Return value or NULL if not found
 		return ( ! isset($this->userdata[$item])) ? NULL : $this->userdata[$item];
 	}
 
@@ -208,7 +208,7 @@
 		// loop through all userdata
 		foreach ($this->all_userdata() as $key => $val)
 		{
-            // if it contains flashdata, add it
+			// if it contains flashdata, add it
 			if (strpos($key, self::FLASHDATA_KEY.self::FLASHDATA_OLD) !== FALSE)
 			{
 				$out[$key] = $val;
@@ -543,7 +543,7 @@
 		// Call base class decorate first
 		parent::decorate($parent);
 
-		// Call initialize method now that driver has access to $this->parent
+		// Call initialize method now that driver has access to $this->_parent
 		$this->initialize();
 	}
 
@@ -559,7 +559,7 @@
 	public function __call($method, $args = array())
 	{
 		// Make sure the parent library uses this driver
-		$this->parent->select_driver(get_class($this));
+		$this->_parent->select_driver(get_class($this));
 		return parent::__call($method, $args);
 	}
 
